package com.battle.pojo.dto.caseBaseInfo;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.battle.pojo.enums.CaseStatusEnum;
import com.battle.pojo.enums.CaseTypeEnum;
import com.battle.pojo.enums.OrganizationTypeEnum;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.time.LocalDate;
import java.util.List;

/**
* 【描 述】：查询Dto
* 【环 境】：J2SE
* 【详 细】：
*
*/
@Data
public class SelectCaseBaseInfoDto extends Page {
    /**
     * 用户id
     */
    private Long userId;

    /**
     * 是否删除
     */
    private Boolean isDeleted;
    /**
     * 是否导入 如果是生成战例记录的话传递false
     */
    private Boolean isImport;

    /**
     * 类型 0接警盘=接处警复盘页面 1站巡处=战评战例库
     */
    private CaseTypeEnum type;

    /**
     * 创建日期 yyyy-MM-dd
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate createStartDate;

    /**
     * 创建日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private LocalDate createEndDate;

    /**
     * 案件等级
     */
    private String level;

    /**
     * 搜索框 搜索战例标题
     */
    private String name;

    /**
     * 提交时间
     */
    private LocalDate submitStartDate;
    /**
     * 提交时间
     */
    private LocalDate submitEndDate;

    /**
     * 状态 0待提交 1待审核 2已驳回 3已发布 4已下架
     */
    private List<Integer> statusList;

    /**
     * 案件类型
     */
    private String caseType;

    /**
     * 救援城市
     */
    private String city;

    /**
     * 发布日期
     */
    private LocalDate issueStartDate;
    /**
     * 发布日期
     */
    private LocalDate issueEndDate;

    /**
     * 标签ids
     */
    private List<Long> labelIds;

    /**
     * 组织类型=战例级别
     */
    private OrganizationTypeEnum organizationType;

    /**
     * 排序规则：0综合排序 1时间排序
     * 综合排序：默认将支队级别战例放在最前面
     * 时间排序：按照发布时间，最新发布的放在最上面
     */
    private Integer sort;

    /**
     * 排序时间字段名：create_time（创建时间）  submit_date（提交时间）
     */
    private String  timeName;

    /**
     * 排序方式：asc（升序）  desc（降序）
     */
    private String orderBy;
}